package com.team2.outpatient_sys.service;

import com.team2.outpatient_sys.pojo.DeptFilter;
import com.team2.outpatient_sys.pojo.DoctorAndNum;
import com.team2.outpatient_sys.pojo.ScheduleAndDoctor;

import java.util.List;
import java.util.Map;

public interface OutpatientScheduleService {
    /**
     * 查询所有排班方法的规范
     * @return 排序后的所有排班的list
     */
    List<ScheduleAndDoctor> findAllSchedule();

    /**
     * 按医生姓名查询排班方法的规范
     * @param name 医生姓名
     * @return 排序后的相应排班的list
     */
    List<ScheduleAndDoctor> findScheduleByDoctorName(String name);

    /**
     * 单选或批量修改排班医生方法的规范
     * @param did 医生id
     * @param SIds 排班id
     * @return 修改总数与失败数的map
     */
    Map<String, Integer> updateSchedule(Integer did, List<Integer> SIds);

    /**
     * 按排班升序查询所有医生方法的规范
     * @return 排序后的所有医生对象的list
     */
    List<DoctorAndNum> findAllDoctorAsc();

    /**
     * 查询所有科室筛选器方法的规范
     * @return 所有科室筛选器的list
     */
    List<DeptFilter> findAllDeptFilter();
}
